package AgendaMultitudo;

import java.io.Serializable;

public class Usuario implements Serializable{
	
	private String nome;
	private String descricao;
	private String email;
	
	public Usuario(String nome, String descricao, String email) throws Exception{
		if(nome == null){
			throw new Exception("Nome nao pode ser nulo.");
		}
		if(descricao == null){
			throw new Exception("Descricao nao pode ser nula.");
		}
		if(email == null){
			throw new Exception("Email nao pode ser nulo.");
		}
		
		this.nome = nome;
		this.descricao = descricao;
		this.email= email;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}
	public String toString(){
		return "Nome: "+getNome()+", Descricao: "+getDescricao()+", E-mail: "+getEmail();
	}
	
	public boolean equals(Object objeto){
		if(!(objeto instanceof Usuario)){
			return false;
		}
		Usuario u = (Usuario) objeto;
		return getEmail() == u.getEmail();
	}	
	
	public void visualizaPerfil(){
		System.out.println("NOME:" + getNome());
		System.out.println("Email:" + getEmail() );
		System.out.println("Descricao: " + getDescricao());
	}
	
	public void alteraPerfil(String nome, String descricao, String email){
		setNome(nome);
		setDescricao(descricao);
		setEmail(email);
	}
}
